import { IParam } from '../../common';
import { IViewModel } from './i-view-model';

/**
 * 自定义视图模型接口
 *
 * @export
 * @interface ICustomViewModel
 * @extends {IViewModel}
 */
export interface ICustomViewModel extends IViewModel {
	/**
	 * 部件名称集合
	 *
	 * @type {string[]}
	 * @memberof ICustomViewModel
	 */
	ctrlArray: IParam[];
    /**
     * 引擎集合
     *
     * @type {IViewEngine[]}
     * @memberof ICustomViewModel
     */
    engineArray: IViewEngine[];
}
/**
 * 视图引擎参数
 *
 * @interface IViewEngineParams
 */
export interface IViewEngineParams {
    /**
     * 参数名称
     *
     * @type {string}
     * @memberof IViewEngineParams
     */
    name: string;
    /**
     * 参数类型
     *
     * @type {string}
     * @memberof IViewEngineParams
     */
    paramType: string;
    /**
     * 部件名称
     *
     * @type {string}
     * @memberof IViewEngineParams
     */
    ctrlName: string;
}
/**
 * 视图引擎
 *
 * @interface IViewEngine
 */
export interface IViewEngine {

    /**
     * 引擎类型
     *
     * @type {string}
     * @memberof IViewEngine
     */
    engineType: string;

    /**
     * 视图引擎参数
     *
     * @type {IViewEngineParams[]}
     * @memberof IViewEngine
     */
    engineParams: IViewEngineParams[];

}
